1. Field of the Invention
The present invention relates to a network technique, a service providing apparatus which dynamically configures and provides service in universal plug and play (UPnP), a service providing method, and program.
2. Description of the Related Art
A technique for connecting each audio apparatus, a video apparatus, or another household electric appliance via a network and mutually utilizing them has rapidly advanced. A certain common communication procedure is required among apparatuses so that a certain apparatus constituting the network is capable of operating the other apparatus via the network. As one procedure, Universal Plug and Play (UPnP) protocol is known. The UPnP consists of some internet standard technologies such as: AutoIP (automatic assignment of IP address); simple service discovery protocol (SSDP: finding of target apparatus); hyper text markup language (HTTP: transmission/reception of hyper text); XML (description of apparatus information and service); simple object access protocol (SOAP: calling of apparatus service); and generic event notification architecture (GENA: event notification of apparatus state) (see, e.g., U.S. Pat. Laid-Open No. 2002/0035621).
A UPnP device or service is defined as an application protocol, based on the UPnP core protocol, described in above. An apparatus is described as a combination of UPnP devices and UPnP services, and the UPnP devices and services are published on the network. A UPnP control point finds the UPnP device. The UPnP control point calls any function of the UPnP service, and receives event notification from the UPnP service.
Roles of the UPnP device and the UPnP control point are statically assigned based on an assumption beforehand. However, the function of the UPnP device and service published is restricted by a capability of the apparatus itself, and it is not assumed that the capability of the apparatus changes during the operation. A framework for UPnP is not prepared in which the changes is notified to a UPnP control point, when the capability of the UPnP device and service is modified.
In the UPnP, there is a problem that there is not any framework for dynamic function expansion. But, as a framework other than the UPnP, a technique for making possible a dynamic service configuration is described in “STONE: Environment Adaptive Network Service Architecture, Technical Research Report of the Institute of Electronics, Information, and Communication Engineers, IN2001-12, May 2001”. In the technique described in this document, dependence of the respective functions is represented as a graph, an apparatus which provides each function is searched for, and the functions are dynamically bonded. However, in the technique described in the above-described document, it is assumed that the apparatus operates in a large-scaled computer network, a unique protocol for constructing a virtual network for cooperation among the apparatuses is introduced, and the existing protocol or apparatus is replaced.
Several problems lie in providing a mechanism which newly makes possible the dynamic service configuration without replacing the existing protocol in the framework of the UPnP. One problem lies in combination of the functions to be found for constructing a new service, and another problem lies in publication of the service. There is a further problem that the service is to be maintained to be stable.
As to a method of constructing and publishing the service, the UPnP device itself does not have a capability for searching another UPnP device and a capability for calling the UPnP service. Therefore, there is not any framework for extending the function of the UPnP device with regard to of the presence of other UPnP devices.
Moreover, how to notify the changes of the service is not explicitly determined in the UPnP specification. The UPnP device is once ended, and restarted, accordingly ssdp:byebye is notified to UPnP control points, the device is recognized again, and further event subscription registration can be cleared. However, the ending with ssdp:byebye indicates that all the functions provided by the UPnP device end. The apparatus utilizing the function which does not influence the updated service discontinues or fails halfway in the process. Therefore, the apparatus using a function which is not related is preferably capable of continuously using the function as in a conventional technique.